file format Any
file format for
digital data that does not consist of a sequence of printable
characters (
text). The term is often used for executable
machine code.
All digital data, including characters, is actually binary data (unless it uses some (rare) system with more than two discrete levels) but the distinction between binary and text is well established. On modern
operating systems a text file is simply a binary file that happens to contain only printable characters, but some older systems distinguish the two file types, requiring programs to handle them differently.
A common class of binary files is programs in
machine language ("
executable files") ready to load into memory and execute. Binary files may also be used to store data output by a program, and intended to be read by that or another program but not by humans. Binary files are more efficient for this purpose because the data (e.g. numerical data) does not need to be converted between the binary form used by the
CPU and a printable (ASCII) representation. The disadvantage is that it is usually necessary to write special purpose programs to manipulate such files since most general purpose utilities operate on text files. There is also a problem sharing binary numerical data between processors with different
endianness.
Some communications
protocols handle only text files, e.g. most
electronic mail systems before
MIME became widespread in about 1995. The
FTP utility must be put into "binary" mode in order to copy a binary file since in its default "ascii" mode translates between the different
newline characters used on the sending and receiving computers.
Confusingly, some
word processor files, and rich text files, are actually binary files because they contain non-printable characters and require special programs to view, edit and print them.
(2005-02-21)